package com.jason.es.po;

import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Setting;

/**
 * 测试向students索引读写数据
 */
@Data
@AllArgsConstructor
// 提供当前po对象对应的索引
@Document(indexName = "student_index")
// 提供索引的setting配置，分片和副本
@Setting(shards = 1, replicas = 0)
public class StudentEsPO {
    @Id  // 表示每一个文档对象索引中的id都是用业务数据字段id
    @Field(type = FieldType.Integer)  // {id:{type:integer}}
    private Integer id;//没有特殊要求 保证唯一 使用id作为文档id使用
    @Field(type = FieldType.Keyword)
    private String name;//没有特殊要求 正常名字
    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String profile;//学生简介,{家乡地址}+{父母工作}+{兴趣爱好}
    //北京,父亲是老师,母亲是工人,喜欢打球和唱歌
}
